﻿<%@ Page Title="" Language="C#" MasterPageFile="~/SiteAdmin.Master" AutoEventWireup="true" CodeBehind="Encuestas.aspx.cs" Inherits="KioskosJugandoLimpio.Admin.Encuestas" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<style type="text/css">
    a
    {
        text-decoration: underline;
        color: blue;
    }
    a:link
    {
        text-decoration: underline;
        color: blue;
    }
    /* unvisited link */
    a:visited
    {
        text-decoration: underline;
        color: blue;
    }
    /* visited link */
    a:hover
    {
        text-decoration: underline;
        color: blue;
    }
    /* mouse over link */
    a:active
    {
        text-decoration: underline;
        color: blue;
    }
    /* selected link */
</style>
    <script type="text/javascript" src="../Scripts/jquery141.js"></script>
    <script type="text/javascript" src="../Scripts/jqueryjson2xml.js"></script>
    <script type="text/javascript" src="../Scripts/HrEncuestaFunciones.js"></script>
    <script type="text/javascript">

        function fnDelSeccion(idSeccion) {
            var element = document.getElementById('__seccion_' + idSeccion);
            while (element.firstChild) {
                element.removeChild(element.firstChild);
            }
        }

        function fnDelPregunta(idPregunta) {
            var element = document.getElementById('__pregunta_' + idPregunta);
            while (element.firstChild) {
                element.removeChild(element.firstChild);
            }
        }

        function fnDelOpcion(idOpcion) {
            var element = document.getElementById('__opcioin_head_' + idOpcion);
            while (element.firstChild) {
                element.removeChild(element.firstChild);
            }
        }

        function fnOptions(idPreguntas) {
            var span = document.getElementById("__pregunta_" + idPreguntas);
            var combo = span.getElementsByTagName("select")[0];
            var inputs = span.lastChild;

            $(inputs).load("Stubs.aspx?class=opciones&idPreguntas=" + idPreguntas + "&idTiposPreguntas=" + combo.value);
            return false;

        }

        function fnAddOption(idPreguntas) {
            var span = $("#__pregunta_" + idPreguntas);
            var inputs = span.find("a").last();
            var ht = $.get("Stubs.aspx?class=opcion", function (text) {
                inputs.before(text);
            });
            return false;
        }

        function fnAddQuestion(idSecciones) {
            var span = $("#__seccion_" + idSecciones);
            var inputs = span.find("a").last();
            var ht = $.get("Stubs.aspx?class=pregunta", function (text) {
                inputs.before(text);
            });

            return false;
        }

        function fnAddSection(idEncuestas) {
            var span = $("#__encuesta_" + idEncuestas);
            var inputs = span.find("a").last();
            var ht = $.get("Stubs.aspx?class=seccion", function (text) {
                inputs.before(text);
            });

            return false;
        }

        // Serelizacion Global
        function fnSerialize() {

            var encObj = new Object();
            var allSpans = $("div[id^='__encuesta_head_']");
            var encSpan;

            for (var i = 0; i < allSpans.length; i++) {
                if (allSpans[i].id.indexOf("__encuesta_head_") == 0) {
                    encSpan = allSpans[i];
                    encObj.idEncuestas = allSpans[i].id.replace("__encuesta_head_", "");
                }
            }

            encObj.titulo = encSpan.getElementByName("ET")[0].value;
            encObj.introduccion = encSpan.getElementByName("EI")[0].value;
            encObj.notaFinal = encSpan.getElementByName("EN")[0].value;

            encObj.secciones = new Array();
            var sectionSpans = $("div[id^='__seccion_head_']");            
            for (var i = 0; i < sectionSpans.length; i++) {
                encObj.secciones.push(fnSerializeSection(sectionSpans[i]));
            }

            var json = JSON.stringify(encObj);
            json = $.json2xml(encObj);
            $("[id$='jsonString']").last().val(json.replace(/</g, "{"));
            //return false;
        }

        // Serelizacion Para las secciones
        function fnSerializeSection(sectionSpan) {
            var sectionObj = new Object();
            if (sectionSpan.id.replace("__seccion_head_", "").substring(0, 2) < 0)
                sectionObj.id = sectionSpan.id.replace("__seccion_head_", "").substring(0, 2);
            else
                sectionObj.id = sectionSpan.id.replace("__seccion_head_", "");

            sectionObj.titulo = encSpan.getElementByName("ST")[0].value;            
            sectionObj.notaFinal = encSpan.getElementByName("SN")[0].value;

            var spans = sectionSpan.getElementsByTagName("div");
            sectionObj.questions = new Array();
            for (var i = 0; i < spans.length; i++) {
                if (spans[i].id.indexOf("__pregunta_head_") != -1) {
                    sectionObj.questions.push( fnSerializeQuestion( spans[i] ) );
                }
            }
            return sectionObj;
        }

        // Serelizacion para las preguntas
        function fnSerializeQuestion(questionSpan) {
            var questionObj = new Object();  

            if (questionSpan.id.replace("__pregunta_head_", "").substring(0, 2) < 0)
                questionObj.id = questionSpan.id.replace("__pregunta_head_", "").substring(0, 2);
            else
                questionObj.id = questionSpan.id.replace("__pregunta_head_", "");

            questionObj.pregunta = encSpan.getElementByName("PR")[0].value;
            questionObj.dependePregunta = encSpan.getElementByName("PD")[0].value;

            //questionObj.tipoPregunta = encSpan.getElementByName("PT")[0].value;

            inputs = questionSpan.getElementsByTagName("select");
            for (var i = 0; i < inputs.length; i++) {
                if (inputs[i].id.indexOf("selOptPrg") != -1) {
                    questionObj.tipoPregunta = inputs[i].value;
                    break;
                }
            }
            
            questionObj.options = new Array();
            var spans = questionSpan.getElementsByTagName("div");
            for (var i = 0; i < spans.length; i++) {
                if (spans[i].id.indexOf("__opcion_head_") != -1) {
                    questionObj.options.push(fnSerializeOption(spans[i]));
                }
            }
            return questionObj;
        }

        function fnSerializeOption(optionSpan) {
            var optionObj = new Object();

            if (optionSpan.id.replace("__opcion_head_", "").substring(0, 2) < 0)
                optionObj.id = optionSpan.id.replace("__opcion_head_", "").substring(0, 2);
            else
                optionObj.id = optionSpan.id.replace("__opcion_head_", "");

            optionObj.valor = encSpan.getElementByName("OP")[0].value;
            optionObj.opcion = encSpan.getElementByName("OV")[0].value;
           
            var inputs = optionSpan.getElementsByTagName("input");
            for (var i = 0; i < inputs.length; i++) {
                if (inputs[i].type == "radio") {
                    optionObj.Marcado = inputs[i].checked;
                }
            }
            return optionObj;
        }
        
    </script>
     <script type="text/javascript" src="../../Scripts/jquerymousewheel304pack.js"></script>
    <script type="text/javascript" src="../../Scripts/jqueryfancybox134pack.js"></script>
    <link href="../../Scripts/jqueryfancybox134.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $("a#grafica").fancybox({
                'width': '90%',
                'height': '90%',
                'autoScale': false,
                'transitionIn': 'elastic',
                'transitionOut': 'elastic',
                'type': 'iframe'
            });
        });
    </script>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2 class="jquery_tab_title">Encuestas</h2>
    <br />
    <div id="divEdit" runat="server"></div>
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="idEncuestas" 
        DataSourceID="DSEncuestas" onrowcommand="GridView1_RowCommand" >
        <Columns>
            
            <asp:BoundField DataField="idEncuestas" HeaderText="idEncuestas" InsertVisible="False" ReadOnly="True" SortExpression="idEncuestas" />
            <asp:BoundField DataField="Titulo" HeaderText="Titulo" SortExpression="Titulo" />
            <asp:BoundField DataField="Estatus" HeaderText="Visible" InsertVisible="True" SortExpression="Estatus" />
            <asp:TemplateField >
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" Text="editar" CommandArgument='<%#Eval("idEncuestas")%>' runat="server" CommandName="editarContenido"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                        <a href="graficas.aspx?idEncuestas=<%#Eval("idEncuestas")%>" id="grafica">Ver Grafica</a>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <HeaderStyle BackColor="#0033CC" ForeColor="White" />
    </asp:GridView>
    <asp:SqlDataSource ID="DSEncuestas" runat="server" 
        ConnectionString="<%$ ConnectionStrings:kioskosConnectionString %>" 
        DeleteCommand="DELETE FROM [Encuestas] WHERE [idEncuestas] = @idEncuestas" 
        InsertCommand="INSERT INTO [Encuestas] ([Titulo], [Estatus]) VALUES (@Titulo, @Estatus)" 
        SelectCommand="SELECT [idEncuestas], [Titulo], [Estatus] FROM [Encuestas]"         
        UpdateCommand="UPDATE [Encuestas] SET [Titulo] = @Titulo, [Estatus] = @Estatus WHERE [idEncuestas] = @idEncuestas">
        <DeleteParameters>
            <asp:Parameter Name="idEncuestas" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="Titulo" Type="String" />
            <asp:Parameter Name="Estatus" Type="Int32" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="Titulo" Type="String" />
            <asp:Parameter Name="Estatus" Type="Int32" />
            <asp:Parameter Name="idEncuestas" Type="Int32" />
        </UpdateParameters>
    </asp:SqlDataSource>
    <asp:Button CommandName="nuevaEncuesta" runat="server" Text="Crear encuesta" 
        ID="btnNueva" onclick="btnNueva_Click" class="button" />
    <asp:HiddenField ClientIDMode="Static" ID="jsonString" runat="server" value="" Visible="true" />
    <asp:HiddenField ClientIDMode="Static" ID="StringEliminaSeccion" runat="server" 
        value="" Visible="true" />
    <asp:HiddenField ClientIDMode="Static" ID="StringEliminaPregunta" runat="server" 
        value="" Visible="true" />
    <asp:HiddenField ClientIDMode="Static" ID="StringEliminaOpcion" runat="server" 
        value="" Visible="true" />
    &nbsp;
</asp:Content>
